/**
 * Progetto Master Web Technology
 * Membri gruppo: Gianfranco Murador, Matteo Ferri, Cristian Castiglia
 */
package mwt.xml.xdbforms.schemalayer;

import mwt.xml.xdbforms.dblayer.metadata.impl.ColumnMetaData;
import org.w3c.dom.DocumentFragment;

/**
 * @author Gianfranco Murador, Cristian Castiglia, Matteo Ferri
 *
 * Per ogni colonna si deve inserire uno frammento
 * XSchema per la definizione dello schema.
 *
 */
public interface SchemaTypeMapping {

    /**
     *
     * @param colMetaData metadati della colonna
     * @return frammento xml corrispondente al tipo
     * @see ColumnMetaData
     */

    public DocumentFragment getSchemaType(ColumnMetaData colMetaData);

    /**
     * Instanzia l'oggetto in base al tipo ed il valore passato.
     * Usa la reflection per istanziare l'oggetto.
     * @return l'oggetto inzializzato con il valore passato come argomento
     */
    public Object getXSchemaToJavaType(String baseType, String value);
}
